﻿using Adaptive.Agrona;
using SolaceSystems.Solclient.Messaging;
using Unity.Connections;
using Unity.Credentials;

namespace Unity.Solace
{
    public class UnitySolaceProducer : IUnityProducer
    {
        private IContext _context;
        private ISession _session;
        private readonly UnitySolaceCredentials _credentials;
        private readonly ITopic _topic;

        public UnitySolaceProducer(UnitySolaceCredentials credentials)
        {
            _credentials = credentials;
            _topic = ContextFactory.Instance.CreateTopic(_credentials.GetTopic());
        }

        public bool Connect(IUnityCredentials credentials)
        {
            throw new System.NotImplementedException();
        }

        public void Close()
        {
            throw new System.NotImplementedException();
        }

        public bool Produce(IDirectBuffer buffer, int offset, int length)
        {
            return true;
        }

        public bool AddToBatching(IDirectBuffer buffer, int offset, int length)
        {
            throw new System.NotImplementedException();
        }

        public int CompleteBatching()
        {
            throw new System.NotImplementedException();
        }
        
        public void Dispose()
        {
            throw new System.NotImplementedException();
        }
    }
}